package com.ruoyi.member.domain;

import java.sql.Time;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 会员车票对象 ticket
 * 
 * @author ruoyi
 * @date 2025-03-06
 */
public class Ticket extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /** 会员id */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long memberId;

    /** 乘客id */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long passengerId;

    /** 乘客姓名 */
    @Excel(name = "乘客姓名")
    private String passengerName;

    /** 日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date trainDate;

    /** 车次编号 */
    @Excel(name = "车次编号")
    private String trainCode;

    /** 箱序 */
    @Excel(name = "箱序")
    private Long carriageIndex;

    /** 排号 */
    @Excel(name = "排号")
    private String seatRow;

    /** 列号 */
    @Excel(name = "列号")
    private String seatCol;

    /** 出发站 */
    @Excel(name = "出发站")
    private String startStation;

    /** 出发时间 */
    @JsonFormat(pattern = "hh:mm:ss")
    @Excel(name = "出发时间", width = 30, dateFormat = "hh:mm:ss")
    private Time startTime;

    /** 到达站 */
    @Excel(name = "到达站")
    private String endStation;

    /** 到站时间 */
    @JsonFormat(pattern = "hh:mm:ss")
    @Excel(name = "到站时间", width = 30, dateFormat = "hh:mm:ss")
    private Time endTime;

    /** 座位类型 */
    @Excel(name = "座位类型")
    private String seatType;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setMemberId(Long memberId) 
    {
        this.memberId = memberId;
    }

    public Long getMemberId() 
    {
        return memberId;
    }
    public void setPassengerId(Long passengerId) 
    {
        this.passengerId = passengerId;
    }

    public Long getPassengerId() 
    {
        return passengerId;
    }
    public void setPassengerName(String passengerName) 
    {
        this.passengerName = passengerName;
    }

    public String getPassengerName() 
    {
        return passengerName;
    }
    public void setTrainDate(Date trainDate) 
    {
        this.trainDate = trainDate;
    }

    public Date getTrainDate() 
    {
        return trainDate;
    }
    public void setTrainCode(String trainCode) 
    {
        this.trainCode = trainCode;
    }

    public String getTrainCode() 
    {
        return trainCode;
    }
    public void setCarriageIndex(Long carriageIndex) 
    {
        this.carriageIndex = carriageIndex;
    }

    public Long getCarriageIndex() 
    {
        return carriageIndex;
    }
    public void setSeatRow(String seatRow) 
    {
        this.seatRow = seatRow;
    }

    public String getSeatRow() 
    {
        return seatRow;
    }
    public void setSeatCol(String seatCol) 
    {
        this.seatCol = seatCol;
    }

    public String getSeatCol() 
    {
        return seatCol;
    }
    public void setStartStation(String startStation) 
    {
        this.startStation = startStation;
    }

    public String getStartStation() 
    {
        return startStation;
    }
    public void setStartTime(Time startTime)
    {
        this.startTime = startTime;
    }

    public Time getStartTime()
    {
        return startTime;
    }
    public void setEndStation(String endStation) 
    {
        this.endStation = endStation;
    }

    public String getEndStation() 
    {
        return endStation;
    }
    public void setEndTime(Time endTime)
    {
        this.endTime = endTime;
    }

    public Time getEndTime()
    {
        return endTime;
    }
    public void setSeatType(String seatType) 
    {
        this.seatType = seatType;
    }

    public String getSeatType() 
    {
        return seatType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("memberId", getMemberId())
            .append("passengerId", getPassengerId())
            .append("passengerName", getPassengerName())
            .append("trainDate", getTrainDate())
            .append("trainCode", getTrainCode())
            .append("carriageIndex", getCarriageIndex())
            .append("seatRow", getSeatRow())
            .append("seatCol", getSeatCol())
            .append("startStation", getStartStation())
            .append("startTime", getStartTime())
            .append("endStation", getEndStation())
            .append("endTime", getEndTime())
            .append("seatType", getSeatType())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
